﻿// 中文注释：该文件定义了ChannelTimeLineItem类，用于在通道视图顶部显示时间刻度线和时间标记
#ifndef CHANNELTIMELINEITEM_H
#define CHANNELTIMELINEITEM_H

#include <QWidget>

/**
 * @brief 通道时间线项类
 * 继承自QWidget，用于在通道视图顶部显示时间刻度线和时间标记，提供水平时间轴参考
 * 支持自定义时间范围和刻度密度，自动适应窗口大小变化
 */
class ChannelTimeLineItem : public QWidget
{
    Q_OBJECT
public:
    /**
     * @brief 构造函数
     * @param minX X轴最小值（时间起始值）
     * @param maxX X轴最大值（时间结束值）
     * @param minY Y轴最小值（未使用，预留参数）
     * @param maxY Y轴最大值（未使用，预留参数）
     * @param parent 父窗口部件指针
     * 初始化时间线的刻度数量、位置和坐标范围
     */
    explicit ChannelTimeLineItem(int minX, int maxX, int minY, int maxY, QWidget *parent=0);

    /**
     * @brief 析构函数
     * 释放类资源
     */
    virtual ~ChannelTimeLineItem();

private:
    /**
     * @brief 重绘事件处理函数
     * @param event 重绘事件对象
     * 绘制时间线背景、主刻度线、次刻度线和时间文本标签
     * 根据当前窗口宽度自动调整刻度间隔和文本位置
     */
    void paintEvent(QPaintEvent *event);
private:
    // 时间线刻度总数（水平方向）
    int m_trick;
    // 时间线基线Y坐标（刻度线起始位置）
    int m_timeLineTop;

    // X轴最小值（时间起始值）
    int m_minXValue;
    // X轴最大值（时间结束值）
    int m_maxXValue;
    // Y轴最小值（预留）
    int m_minYValue;
    // Y轴最大值（预留）
    int m_maxYValue;
};

#endif // CHANNELTIMELINEITEM_H
